
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Deploy Action Reference &#8212; LAVA 2024.05 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/sphinx_highlight.js"></script>
    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Boot Action Reference" href="actions-boot.html" />
    <link rel="prev" title="Dispatcher Action Reference" href="dispatcher-actions.html" />
    <link rel="canonical" href="https://docs.lavasoftware.org/lava/actions-deploy.html" />
  
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>


  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html"><span><img src="_static/lava.png"></span>
          LAVA</a>
        <span class="navbar-text navbar-version pull-left"><b>2024.05</b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
                <li><a href="genindex.html">Index</a></li>
                <li><a href="contents.html">Contents</a></li>
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html">Introduction to LAVA</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contents.html">Contents</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary of terms</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="support.html">Getting support</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Deploy Action Reference</a><ul>
<li><a class="reference internal" href="#deploy-action-roles">Deploy action roles</a></li>
<li><a class="reference internal" href="#required-parameters">Required parameters</a></li>
<li><a class="reference internal" href="#overlays">Overlays</a></li>
<li><a class="reference internal" href="#parameter-list">Parameter List</a></li>
<li><a class="reference internal" href="#to-docker">to: docker</a><ul>
<li><a class="reference internal" href="#os">os</a></li>
<li><a class="reference internal" href="#image">image</a><ul>
<li><a class="reference internal" href="#name">name</a></li>
<li><a class="reference internal" href="#local">local</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-download">to: download</a><ul>
<li><a class="reference internal" href="#images">images</a><ul>
<li><a class="reference internal" href="#label">label</a><ul>
<li><a class="reference internal" href="#url">url *</a></li>
<li><a class="reference internal" href="#compression">compression</a></li>
<li><a class="reference internal" href="#archive">archive</a></li>
<li><a class="reference internal" href="#md5sum">md5sum</a></li>
<li><a class="reference internal" href="#sha256sum">sha256sum</a></li>
<li><a class="reference internal" href="#sha512sum">sha512sum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-fastboot">to: fastboot</a><ul>
<li><a class="reference internal" href="#deploy-to-fastboot-images">images</a><ul>
<li><a class="reference internal" href="#partition">partition</a><ul>
<li><a class="reference internal" href="#deploy-to-fastboot-images-compression">compression</a></li>
<li><a class="reference internal" href="#reboot">reboot</a></li>
<li><a class="reference internal" href="#deploy-to-fastboot-images-archive">archive</a></li>
<li><a class="reference internal" href="#apply-overlay">apply-overlay</a></li>
<li><a class="reference internal" href="#sparse">sparse</a></li>
<li><a class="reference internal" href="#deploy-to-fastboot-images-md5sum">md5sum</a></li>
<li><a class="reference internal" href="#deploy-to-fastboot-images-sha256sum">sha256sum</a></li>
<li><a class="reference internal" href="#id6">sha512sum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-fvp">to: fvp</a><ul>
<li><a class="reference internal" href="#deploy-to-fvp-images">images</a><ul>
<li><a class="reference internal" href="#id8">url *</a></li>
<li><a class="reference internal" href="#id9">overlays</a><ul>
<li><a class="reference internal" href="#id10">partition *</a></li>
<li><a class="reference internal" href="#ramdisk">ramdisk</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-avh">to: avh</a><ul>
<li><a class="reference internal" href="#options">options</a><ul>
<li><a class="reference internal" href="#model">model</a></li>
<li><a class="reference internal" href="#api-endpoint">api_endpoint</a></li>
<li><a class="reference internal" href="#project-name">project_name</a></li>
</ul>
</li>
<li><a class="reference internal" href="#id11">images</a><ul>
<li><a class="reference internal" href="#rootfs">rootfs</a><ul>
<li><a class="reference internal" href="#id12">url</a></li>
<li><a class="reference internal" href="#format">format</a></li>
<li><a class="reference internal" href="#root-partition">root_partition</a></li>
<li><a class="reference internal" href="#id13">overlays</a></li>
</ul>
</li>
<li><a class="reference internal" href="#kernel">kernel</a></li>
<li><a class="reference internal" href="#dtb">dtb</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-iso-installer">to: iso-installer</a><ul>
<li><a class="reference internal" href="#deploy-to-iso-installer-images">images</a><ul>
<li><a class="reference internal" href="#iso">iso</a><ul>
<li><a class="reference internal" href="#deploy-to-iso-installer-images-iso-archive">archive</a></li>
<li><a class="reference internal" href="#deploy-to-iso-installer-images-iso-compression">compression</a></li>
<li><a class="reference internal" href="#image-arg">image_arg</a></li>
</ul>
</li>
<li><a class="reference internal" href="#preseed">preseed</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-iso-installer-iso">iso</a><ul>
<li><a class="reference internal" href="#deploy-to-iso-installer-iso-kernel">kernel</a></li>
<li><a class="reference internal" href="#initrd">initrd</a></li>
<li><a class="reference internal" href="#console">console</a></li>
<li><a class="reference internal" href="#installation-size">installation_size</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-lxc">to: lxc</a><ul>
<li><a class="reference internal" href="#packages">packages</a></li>
</ul>
</li>
<li><a class="reference internal" href="#to-musca">to: musca</a><ul>
<li><a class="reference internal" href="#id19">images</a><ul>
<li><a class="reference internal" href="#test-binary">test_binary</a><ul>
<li><a class="reference internal" href="#deploy-to-musca-binary-url">url *</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-nbd">to: nbd</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-kernel">kernel</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-kernel-url">url *</a></li>
<li><a class="reference internal" href="#type">type</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-nbd-dtb">dtb</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-dtb-url">url *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#modules">modules</a></li>
<li><a class="reference internal" href="#deploy-to-nbd-initrd">initrd</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-initrd-url">url *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#nbdroot">nbdroot</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-nbdroot-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-nbd-nfsroot-archive">archive</a><ul>
<li><a class="reference internal" href="#deploy-to-nbd-nfsroot-compression">compression</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-nbd-images-md5sum">md5sum</a></li>
<li><a class="reference internal" href="#deploy-to-nbd-images-sha256sum">sha256sum</a><ul>
<li><a class="reference internal" href="#id32">sha512sum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-recovery">to: recovery</a></li>
<li><a class="reference internal" href="#to-sata">to: sata</a><ul>
<li><a class="reference internal" href="#deploy-to-sata-kernel">kernel *</a></li>
<li><a class="reference internal" href="#deploy-to-sata-ramdisk">ramdisk</a></li>
<li><a class="reference internal" href="#deploy-to-sata-dtb">dtb *</a></li>
<li><a class="reference internal" href="#uuid">UUID *</a></li>
<li><a class="reference internal" href="#boot-part">boot_part *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#to-ssh">to: ssh</a><ul>
<li><a class="reference internal" href="#connection">connection</a></li>
<li><a class="reference internal" href="#protocols">protocols</a></li>
</ul>
</li>
<li><a class="reference internal" href="#to-tftp">to: tftp</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-kernel">kernel</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-kernel-type">type</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-kernel-url">url *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-tftp-dtb">dtb</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-dtb-url">url *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-tftp-modules">modules</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-modules-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-modules-archive">archive</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-modules-compression">compression</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-tftp-ramdisk">ramdisk</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-ramdisk-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-ramdisk-archive">archive</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-ramdisk-compression">compression</a></li>
<li><a class="reference internal" href="#header">header</a></li>
</ul>
</li>
<li><a class="reference internal" href="#nfsrootfs">nfsrootfs</a><ul>
<li><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-archive">archive</a></li>
<li><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-compression">compression</a></li>
</ul>
</li>
<li><a class="reference internal" href="#persistent-nfs">persistent_nfs</a><ul>
<li><a class="reference internal" href="#address">address *</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-tmpfs">to: tmpfs</a><ul>
<li><a class="reference internal" href="#deploy-to-tmpfs-images">images</a><ul>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-label">label</a><ul>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-image-arg">image_arg</a></li>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-tmpfs-archive">archive</a></li>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-compression">compression</a></li>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-md5sum">md5sum</a></li>
<li><a class="reference internal" href="#deploy-to-tmpfs-images-sha256sum">sha256sum</a></li>
<li><a class="reference internal" href="#id61">sha512sum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-usb">to: usb</a><ul>
<li><a class="reference internal" href="#deploy-to-usb-kernel">kernel *</a></li>
<li><a class="reference internal" href="#deploy-to-usb-ramdisk">ramdisk</a></li>
<li><a class="reference internal" href="#deploy-to-usb-dtb">dtb *</a></li>
<li><a class="reference internal" href="#deploy-to-usb-uuid">UUID *</a></li>
<li><a class="reference internal" href="#deploy-to-usb-boot-part">boot_part *</a></li>
</ul>
</li>
<li><a class="reference internal" href="#to-vemsd">to: vemsd</a><ul>
<li><a class="reference internal" href="#recovery-image">recovery_image</a><ul>
<li><a class="reference internal" href="#deploy-to-vemsd-recovery-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-vemsd-recovery-compression">compression</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-mps">to: mps</a><ul>
<li><a class="reference internal" href="#deploy-to-mps-recovery">images</a><ul>
<li><a class="reference internal" href="#id70">recovery_image</a><ul>
<li><a class="reference internal" href="#deploy-to-mps-recovery-url">url *</a></li>
<li><a class="reference internal" href="#deploy-to-mps-recovery-compression">compression</a></li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-to-mps-test-binary">test_binary</a><ul>
<li><a class="reference internal" href="#deploy-to-mps-binary-url">url *</a></li>
<li><a class="reference internal" href="#rename">rename</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#to-uuu">to: uuu</a><ul>
<li><a class="reference internal" href="#id75">images</a><ul>
<li><a class="reference internal" href="#id76">partition</a><ul>
<li><a class="reference internal" href="#deploy-to-uuu-images-compression">compression</a></li>
<li><a class="reference internal" href="#deploy-to-uuu-images-apply-overlay">apply-overlay</a></li>
<li><a class="reference internal" href="#deploy-to-uuu-images-sparse">sparse</a></li>
<li><a class="reference internal" href="#deploy-to-uuu-images-md5sum">md5sum</a></li>
<li><a class="reference internal" href="#deploy-to-uuu-images-sha256sum">sha256sum</a></li>
<li><a class="reference internal" href="#id83">sha512sum</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#deploy-os">os *</a></li>
</ul>
</li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="dispatcher-actions.html" title="Previous Chapter: Dispatcher Action Reference"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Dispatcher Ac...</span>
    </a>
  </li>
  <li>
    <a href="actions-boot.html" title="Next Chapter: Boot Action Reference"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Boot Action Reference &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm"></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <section id="deploy-action-reference">
<span id="deploy-action"></span><h1><a class="toc-backref" href="#contents" role="doc-backlink">Deploy Action Reference</a><a class="headerlink" href="#deploy-action-reference" title="Permalink to this heading">¶</a></h1>
<p>In general, the deployments do not modify the downloaded files. Where the LAVA
scripts and test definitions need to be added, these are first prepared as a
standalone tarball. Exceptions are described where relevant in each section.</p>
<section id="deploy-action-roles">
<h2><a class="toc-backref" href="#contents" role="doc-backlink">Deploy action roles</a><a class="headerlink" href="#deploy-action-roles" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p>Download files required by the job to the dispatcher, decompressing only if
requested.</p></li>
<li><p>Prepare a LAVA overlay tarball containing the test definitions and LAVA API
scripts, only if a <a class="reference internal" href="actions-test.html#test-action"><span class="std std-ref">Test Action Reference</span></a> action is defined.</p></li>
<li><p>Depending on the deployment, apply the LAVA overlay tarball to the
deployment.</p></li>
<li><p>Deploy does not support <a class="reference internal" href="actions-repeats.html#repeats"><span class="std std-ref">repeat</span></a> blocks but does support
<a class="reference internal" href="actions-repeats.html#failure-retry"><span class="std std-ref">Retry on failure</span></a>.</p></li>
</ul>
</section>
<section id="required-parameters">
<span id="deploy-parameters"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">Required parameters</a><a class="headerlink" href="#required-parameters" title="Permalink to this heading">¶</a></h2>
<p>Every deployment <strong>must</strong> specify a <code class="docutils literal notranslate"><span class="pre">to</span></code> parameter. This value is then used
to select the appropriate strategy class for the deployment which, in turn,
will require other parameters to provide the data on how to deploy to the
requested location. Additionally, all the required parameters are marked with
a <strong>*</strong></p>
</section>
<section id="overlays">
<h2><a class="toc-backref" href="#contents" role="doc-backlink">Overlays</a><a class="headerlink" href="#overlays" title="Permalink to this heading">¶</a></h2>
<p>LAVA can insert user provided overlays into your images right after the download step.</p>
<p>In the url block, you can add a dictionary called <cite>overlays</cite> that will list the
overlays to add to the given resource.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">rootfs</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/rootfs.ext4.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ext4</span>
<span class="w">        </span><span class="nt">overlays</span><span class="p">:</span>
<span class="w">          </span><span class="nt">modules</span><span class="p">:</span>
<span class="w">            </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/modules.tar.xz</span>
<span class="w">            </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">            </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
<span class="w">            </span><span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/</span>
</pre></div>
</div>
<p>In order to insert overlay into an image, you should specify the image format.
Currently LAVA supports cpio (newc format) and ext4 images.</p>
<p>The overlays should be archived using tar. The path is relative to the root of
the image to update. This path is required.</p>
</section>
<section id="parameter-list">
<h2><a class="toc-backref" href="#contents" role="doc-backlink">Parameter List</a><a class="headerlink" href="#parameter-list" title="Permalink to this heading">¶</a></h2>
<nav class="contents" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#deploy-action-reference" id="id85">Deploy Action Reference</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-action-roles" id="id86">Deploy action roles</a></p></li>
<li><p><a class="reference internal" href="#required-parameters" id="id87">Required parameters</a></p></li>
<li><p><a class="reference internal" href="#overlays" id="id88">Overlays</a></p></li>
<li><p><a class="reference internal" href="#parameter-list" id="id89">Parameter List</a></p></li>
<li><p><a class="reference internal" href="#to-docker" id="id90">to: docker</a></p>
<ul>
<li><p><a class="reference internal" href="#os" id="id91">os</a></p></li>
<li><p><a class="reference internal" href="#image" id="id92">image</a></p>
<ul>
<li><p><a class="reference internal" href="#name" id="id93">name</a></p></li>
<li><p><a class="reference internal" href="#local" id="id94">local</a></p></li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-download" id="id95">to: download</a></p>
<ul>
<li><p><a class="reference internal" href="#images" id="id96">images</a></p>
<ul>
<li><p><a class="reference internal" href="#label" id="id97">label</a></p>
<ul>
<li><p><a class="reference internal" href="#url" id="id98">url *</a></p></li>
<li><p><a class="reference internal" href="#compression" id="id99">compression</a></p></li>
<li><p><a class="reference internal" href="#archive" id="id100">archive</a></p></li>
<li><p><a class="reference internal" href="#md5sum" id="id101">md5sum</a></p></li>
<li><p><a class="reference internal" href="#sha256sum" id="id102">sha256sum</a></p></li>
<li><p><a class="reference internal" href="#sha512sum" id="id103">sha512sum</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-fastboot" id="id104">to: fastboot</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-fastboot-images" id="id105">images</a></p>
<ul>
<li><p><a class="reference internal" href="#partition" id="id106">partition</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-fastboot-images-compression" id="id107">compression</a></p></li>
<li><p><a class="reference internal" href="#reboot" id="id108">reboot</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-fastboot-images-archive" id="id109">archive</a></p></li>
<li><p><a class="reference internal" href="#apply-overlay" id="id110">apply-overlay</a></p></li>
<li><p><a class="reference internal" href="#sparse" id="id111">sparse</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-fastboot-images-md5sum" id="id112">md5sum</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-fastboot-images-sha256sum" id="id113">sha256sum</a></p></li>
<li><p><a class="reference internal" href="#id6" id="id114">sha512sum</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-fvp" id="id115">to: fvp</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-fvp-images" id="id116">images</a></p>
<ul>
<li><p><a class="reference internal" href="#id8" id="id117">url *</a></p></li>
<li><p><a class="reference internal" href="#id9" id="id118">overlays</a></p>
<ul>
<li><p><a class="reference internal" href="#id10" id="id119">partition *</a></p></li>
<li><p><a class="reference internal" href="#ramdisk" id="id120">ramdisk</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-avh" id="id121">to: avh</a></p>
<ul>
<li><p><a class="reference internal" href="#options" id="id122">options</a></p>
<ul>
<li><p><a class="reference internal" href="#model" id="id123">model</a></p></li>
<li><p><a class="reference internal" href="#api-endpoint" id="id124">api_endpoint</a></p></li>
<li><p><a class="reference internal" href="#project-name" id="id125">project_name</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#id11" id="id126">images</a></p>
<ul>
<li><p><a class="reference internal" href="#rootfs" id="id127">rootfs</a></p>
<ul>
<li><p><a class="reference internal" href="#id12" id="id128">url</a></p></li>
<li><p><a class="reference internal" href="#format" id="id129">format</a></p></li>
<li><p><a class="reference internal" href="#root-partition" id="id130">root_partition</a></p></li>
<li><p><a class="reference internal" href="#id13" id="id131">overlays</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#kernel" id="id132">kernel</a></p></li>
<li><p><a class="reference internal" href="#dtb" id="id133">dtb</a></p></li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-iso-installer" id="id134">to: iso-installer</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-iso-installer-images" id="id135">images</a></p>
<ul>
<li><p><a class="reference internal" href="#iso" id="id136">iso</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-iso-installer-images-iso-archive" id="id137">archive</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-iso-installer-images-iso-compression" id="id138">compression</a></p></li>
<li><p><a class="reference internal" href="#image-arg" id="id139">image_arg</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#preseed" id="id140">preseed</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-iso-installer-iso" id="id141">iso</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-iso-installer-iso-kernel" id="id142">kernel</a></p></li>
<li><p><a class="reference internal" href="#initrd" id="id143">initrd</a></p></li>
<li><p><a class="reference internal" href="#console" id="id144">console</a></p></li>
<li><p><a class="reference internal" href="#installation-size" id="id145">installation_size</a></p></li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-lxc" id="id146">to: lxc</a></p>
<ul>
<li><p><a class="reference internal" href="#packages" id="id147">packages</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-musca" id="id148">to: musca</a></p>
<ul>
<li><p><a class="reference internal" href="#id19" id="id149">images</a></p>
<ul>
<li><p><a class="reference internal" href="#test-binary" id="id150">test_binary</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-musca-binary-url" id="id151">url *</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-nbd" id="id152">to: nbd</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-kernel" id="id153">kernel</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-kernel-url" id="id154">url *</a></p></li>
<li><p><a class="reference internal" href="#type" id="id155">type</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-nbd-dtb" id="id156">dtb</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-dtb-url" id="id157">url *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#modules" id="id158">modules</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-nbd-initrd" id="id159">initrd</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-initrd-url" id="id160">url *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#nbdroot" id="id161">nbdroot</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-nbdroot-url" id="id162">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-nbd-nfsroot-archive" id="id163">archive</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-nbd-nfsroot-compression" id="id164">compression</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-nbd-images-md5sum" id="id165">md5sum</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-nbd-images-sha256sum" id="id166">sha256sum</a></p>
<ul>
<li><p><a class="reference internal" href="#id32" id="id167">sha512sum</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-recovery" id="id168">to: recovery</a></p></li>
<li><p><a class="reference internal" href="#to-sata" id="id169">to: sata</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-sata-kernel" id="id170">kernel *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-sata-ramdisk" id="id171">ramdisk</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-sata-dtb" id="id172">dtb *</a></p></li>
<li><p><a class="reference internal" href="#uuid" id="id173">UUID *</a></p></li>
<li><p><a class="reference internal" href="#boot-part" id="id174">boot_part *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-ssh" id="id175">to: ssh</a></p>
<ul>
<li><p><a class="reference internal" href="#connection" id="id176">connection</a></p></li>
<li><p><a class="reference internal" href="#protocols" id="id177">protocols</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-tftp" id="id178">to: tftp</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-kernel" id="id179">kernel</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-kernel-type" id="id180">type</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-kernel-url" id="id181">url *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-tftp-dtb" id="id182">dtb</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-dtb-url" id="id183">url *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-tftp-modules" id="id184">modules</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-modules-url" id="id185">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-modules-archive" id="id186">archive</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-modules-compression" id="id187">compression</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-tftp-ramdisk" id="id188">ramdisk</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-ramdisk-url" id="id189">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-ramdisk-archive" id="id190">archive</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-ramdisk-compression" id="id191">compression</a></p></li>
<li><p><a class="reference internal" href="#header" id="id192">header</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#nfsrootfs" id="id193">nfsrootfs</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-url" id="id194">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-archive" id="id195">archive</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tftp-nfsrootfs-compression" id="id196">compression</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#persistent-nfs" id="id197">persistent_nfs</a></p>
<ul>
<li><p><a class="reference internal" href="#address" id="id198">address *</a></p></li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-tmpfs" id="id199">to: tmpfs</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images" id="id200">images</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-label" id="id201">label</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-image-arg" id="id202">image_arg</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-url" id="id203">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-archive" id="id204">archive</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-compression" id="id205">compression</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-md5sum" id="id206">md5sum</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-tmpfs-images-sha256sum" id="id207">sha256sum</a></p></li>
<li><p><a class="reference internal" href="#id61" id="id208">sha512sum</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-usb" id="id209">to: usb</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-usb-kernel" id="id210">kernel *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-usb-ramdisk" id="id211">ramdisk</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-usb-dtb" id="id212">dtb *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-usb-uuid" id="id213">UUID *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-usb-boot-part" id="id214">boot_part *</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-vemsd" id="id215">to: vemsd</a></p>
<ul>
<li><p><a class="reference internal" href="#recovery-image" id="id216">recovery_image</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-vemsd-recovery-url" id="id217">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-vemsd-recovery-compression" id="id218">compression</a></p></li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-mps" id="id219">to: mps</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-mps-recovery" id="id220">images</a></p>
<ul>
<li><p><a class="reference internal" href="#id70" id="id221">recovery_image</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-mps-recovery-url" id="id222">url *</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-mps-recovery-compression" id="id223">compression</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-to-mps-test-binary" id="id224">test_binary</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-mps-binary-url" id="id225">url *</a></p></li>
<li><p><a class="reference internal" href="#rename" id="id226">rename</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#to-uuu" id="id227">to: uuu</a></p>
<ul>
<li><p><a class="reference internal" href="#id75" id="id228">images</a></p>
<ul>
<li><p><a class="reference internal" href="#id76" id="id229">partition</a></p>
<ul>
<li><p><a class="reference internal" href="#deploy-to-uuu-images-compression" id="id230">compression</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-uuu-images-apply-overlay" id="id231">apply-overlay</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-uuu-images-sparse" id="id232">sparse</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-uuu-images-md5sum" id="id233">md5sum</a></p></li>
<li><p><a class="reference internal" href="#deploy-to-uuu-images-sha256sum" id="id234">sha256sum</a></p></li>
<li><p><a class="reference internal" href="#id83" id="id235">sha512sum</a></p></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><a class="reference internal" href="#deploy-os" id="id236">os *</a></p></li>
</ul>
</li>
</ul>
</nav>
</section>
<section id="to-docker">
<span id="deploy-to-docker"></span><span id="index-0"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: docker</a><a class="headerlink" href="#to-docker" title="Permalink to this heading">¶</a></h2>
<p>Pull a docker image from the official or a private docker hub.</p>
<div class="highlight-yaml notranslate" id="deploy-to-docker-image"><span id="index-1"></span><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker</span>
<span class="w">    </span><span class="nt">os</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">debian</span>
<span class="w">    </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">debian:stretch</span>
</pre></div>
</div>
<section id="os">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">os</a><a class="headerlink" href="#os" title="Permalink to this heading">¶</a></h3>
<p>Optional parameter to let LAVA know which OS the container is running</p>
</section>
<section id="image">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">image</a><a class="headerlink" href="#image" title="Permalink to this heading">¶</a></h3>
<p>Either the name of the docker image to pull or a dictionary with:</p>
<section id="name">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">name</a><a class="headerlink" href="#name" title="Permalink to this heading">¶</a></h4>
<p>Name of the docker image to pull</p>
</section>
<section id="local">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">local</a><a class="headerlink" href="#local" title="Permalink to this heading">¶</a></h4>
<p><code class="docutils literal notranslate"><span class="pre">true</span></code> if the image is local, <code class="docutils literal notranslate"><span class="pre">false</span></code> by default.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker</span>
<span class="w">    </span><span class="nt">os</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">debian</span>
<span class="w">    </span><span class="nt">image</span><span class="p">:</span>
<span class="w">      </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">my-local-docker-debian-image</span>
<span class="w">      </span><span class="nt">local</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</pre></div>
</div>
</section>
</section>
</section>
<section id="to-download">
<span id="deploy-to-download"></span><span id="index-2"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: download</a><a class="headerlink" href="#to-download" title="Permalink to this heading">¶</a></h2>
<p>Download is a special type of deployment in which the files specified in the
URL are downloaded as in any other deployment type and does nothing more. If
there is a <a class="reference internal" href="actions-protocols.html#lxc-protocol-reference"><span class="std std-ref">LXC protocol</span></a> requested then the
downloaded files are copied to <a class="reference internal" href="glossary.html#term-LAVA_LXC_HOME"><span class="xref std std-term">LAVA_LXC_HOME</span></a>. These downloaded files
can then be referred by the URL scheme <code class="docutils literal notranslate"><span class="pre">lxc:///</span></code> in subsequent actions.</p>
<section id="images">
<span id="deploy-to-download-images"></span><span id="index-3"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#images" title="Permalink to this heading">¶</a></h3>
<p>Download deployments support images to be downloaded and saved along with
copying to <a class="reference internal" href="glossary.html#term-LAVA_LXC_HOME"><span class="xref std std-term">LAVA_LXC_HOME</span></a> when <a class="reference internal" href="actions-protocols.html#lxc-protocol-reference"><span class="std std-ref">LXC protocol</span></a> is available. The list of images will depend on the
test job and the test device.</p>
<section id="label">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">label</a><a class="headerlink" href="#label" title="Permalink to this heading">¶</a></h4>
<p>The label is arbitrary text, that refers to the image key that will get
downloaded as specified in <a class="reference internal" href="#deploy-to-download-label-url"><span class="std std-ref">url *</span></a></p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">download</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">rootfs</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/rootfs.img.gz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gz</span>
</pre></div>
</div>
<section id="url">
<span id="deploy-to-download-label-url"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#url" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="compression">
<span id="deploy-to-download-label-compression"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="archive">
<span id="deploy-to-download-label-archive"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#archive" title="Permalink to this heading">¶</a></h5>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="md5sum">
<span id="deploy-to-download-label-md5sum"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">md5sum</a><a class="headerlink" href="#md5sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">md5sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">d8784b27867b3dcad90cbea66eacc264</span>
</pre></div>
</div>
</section>
<section id="sha256sum">
<span id="deploy-to-download-label-sha256sum"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sha256sum</a><a class="headerlink" href="#sha256sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha256sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
<section id="sha512sum">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">sha512sum</a><a class="headerlink" href="#sha512sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha512sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="to-fastboot">
<span id="deploy-to-fastboot"></span><span id="index-4"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: fastboot</a><a class="headerlink" href="#to-fastboot" title="Permalink to this heading">¶</a></h2>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="deploy-lxc.html#deploy-using-lxc"><span class="std std-ref">Deploying test images using LXC</span></a></p>
</div>
<section id="deploy-to-fastboot-images">
<span id="index-5"></span><span id="id1"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#deploy-to-fastboot-images" title="Permalink to this heading">¶</a></h3>
<p>Fastboot deployments support a range of images to be downloaded and deployed to
the device. The list of images will depend on the test job and the test device.
The available elements determine the command arguments passed to <code class="docutils literal notranslate"><span class="pre">fastboot</span></code>
inside the LXC i.e., the partition to be flashed.</p>
<section id="partition">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">partition</a><a class="headerlink" href="#partition" title="Permalink to this heading">¶</a></h4>
<p>The partition is a text string which specifies the partition to which the
image will be flashed using the <code class="docutils literal notranslate"><span class="pre">fastboot</span></code> command.</p>
<p>In the example, the partition to be flashed on the <a class="reference internal" href="glossary.html#term-DUT"><span class="xref std std-term">DUT</span></a> is <code class="docutils literal notranslate"><span class="pre">system</span></code>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The partition text is passed to fastboot command as given in the
job, for example, <code class="docutils literal notranslate"><span class="pre">fastboot</span> <span class="pre">flash</span> <span class="pre">system</span> <span class="pre">/lava-lxc/rootfs.img</span></code>, hence
take caution to pass the right partition name.</p>
</div>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">15</span><span class="whitespace">
    </span><span class="name tag">namespace</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">droid</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">fastboot</span><span class="whitespace">
    </span><span class="name tag">images</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">ptable</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/hikey/ptable-aosp-8g.img</span><span class="whitespace">
        </span><span class="name tag">reboot</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">hard-reset</span><span class="whitespace">
      </span><span class="name tag">boot</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/hikey/boot.img.xz</span><span class="whitespace">
        </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">xz</span><span class="whitespace">
        </span><span class="name tag">reboot</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">hard-reset</span><span class="whitespace">
      </span><span class="name tag">cache</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/hikey/cache.img.xz</span><span class="whitespace">
        </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">xz</span><span class="whitespace">
      </span><span class="name tag">userdata</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/hikey/userdata.img.xz</span><span class="whitespace">
        </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">xz</span><span class="whitespace">
      </span><span class="name tag">system</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/hikey/system.img.xz</span><span class="whitespace">
        </span><span class="name tag">sha256sum</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span><span class="whitespace">
        </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">xz</span><span class="whitespace">
    </span><span class="name tag">protocols</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">lava-lxc</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">action</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">fastboot-deploy</span><span class="whitespace">
        </span><span class="name tag">request</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">pre-power-command</span><span class="whitespace">
        </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
          </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">2</span></code></pre>
<p id="deploy-to-fastboot-images-url">Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
<section id="deploy-to-fastboot-images-compression">
<span id="id2"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-fastboot-images-compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="reboot">
<span id="deploy-to-fastboot-images-reboot"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">reboot</a><a class="headerlink" href="#reboot" title="Permalink to this heading">¶</a></h5>
<p>If there is a need to restart or reboot the <a class="reference internal" href="glossary.html#term-DUT"><span class="xref std std-term">DUT</span></a> after flashing partition
image, then the method <strong>must</strong> be specified.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">hard-reset</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">fastboot-reboot</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">fastboot-reboot-bootloader</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-fastboot-images-archive">
<span id="id3"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-fastboot-images-archive" title="Permalink to this heading">¶</a></h5>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="apply-overlay">
<span id="deploy-to-fastboot-images-apply-overlay"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">apply-overlay</a><a class="headerlink" href="#apply-overlay" title="Permalink to this heading">¶</a></h5>
<p>Use this to apply LAVA specific overlays to image.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">apply-overlay</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</pre></div>
</div>
</section>
<section id="sparse">
<span id="deploy-to-fastboot-images-sparse"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sparse</a><a class="headerlink" href="#sparse" title="Permalink to this heading">¶</a></h5>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sparse</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</pre></div>
</div>
<p>The default value for this parameter is <code class="docutils literal notranslate"><span class="pre">true</span></code>. Some system images are
shipped as sparse images which needs special handling with tools such as
<code class="docutils literal notranslate"><span class="pre">simg2img</span></code> and <code class="docutils literal notranslate"><span class="pre">img2simg</span></code>, in order to apply LAVA specific overlays to it.
By default LAVA assumes the image to which <code class="docutils literal notranslate"><span class="pre">apply-overlay</span></code> is specified is a
sparse image.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#deploy-to-fastboot-images-apply-overlay"><span class="std std-ref">apply-overlay</span></a></p>
</div>
<p>If the image is not a sparse image then this should be explicitly mentioned,
so that LAVA will treat the image as non-sparse ext4 image.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.ext4.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sparse</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
</pre></div>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>The sparse image format is defined in <a class="reference external" href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_format.h">sparse_format</a> in the
Android platform source code.</p>
</div>
</section>
<section id="deploy-to-fastboot-images-md5sum">
<span id="id4"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">md5sum</a><a class="headerlink" href="#deploy-to-fastboot-images-md5sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">md5sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">d8784b27867b3dcad90cbea66eacc264</span>
</pre></div>
</div>
</section>
<section id="deploy-to-fastboot-images-sha256sum">
<span id="id5"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sha256sum</a><a class="headerlink" href="#deploy-to-fastboot-images-sha256sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha256sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
<section id="id6">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">sha512sum</a><a class="headerlink" href="#id6" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha512sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="to-fvp">
<span id="deploy-to-fvp"></span><span id="index-6"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: fvp</a><a class="headerlink" href="#to-fvp" title="Permalink to this heading">¶</a></h2>
<p>Allows running of <code class="docutils literal notranslate"><span class="pre">FVP</span></code> (or Fixed Virtual Platforms) from a Docker container.
Generally speaking, <code class="docutils literal notranslate"><span class="pre">FVP</span></code> are launched in Docker and UART output is served over a telnet connection locally.
A pattern is given in the job definition to find the port of the UART from the <code class="docutils literal notranslate"><span class="pre">FVP</span></code> output.
LAVA will then connect via <code class="docutils literal notranslate"><span class="pre">telnet</span></code> to view UART output.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">-</span> <span class="n">deploy</span><span class="p">:</span>
    <span class="n">namespace</span><span class="p">:</span> <span class="n">docker</span>
    <span class="n">to</span><span class="p">:</span> <span class="n">fvp</span>
    <span class="n">images</span><span class="p">:</span>
      <span class="n">disk</span><span class="p">:</span>
        <span class="n">url</span><span class="p">:</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">fileserver</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">fvp</span><span class="o">/</span><span class="n">grub</span><span class="o">-</span><span class="n">busybox</span><span class="o">.</span><span class="n">img</span>
        <span class="c1"># Remaining settings allow adding overlay to the</span>
        <span class="c1"># ramdisk on second partition of</span>
        <span class="c1"># image file.</span>
        <span class="n">overlays</span><span class="p">:</span>
        <span class="o">-</span> <span class="n">partition</span><span class="p">:</span> <span class="mi">1</span>
          <span class="n">ramdisk</span><span class="p">:</span> <span class="n">ramdisk</span><span class="o">.</span><span class="n">img</span>
        <span class="c1"># Alternatively, add overlay into rootfs in first partition</span>
        <span class="c1"># overlays:</span>
        <span class="c1"># - partition: 0</span>
</pre></div>
</div>
<section id="deploy-to-fvp-images">
<span id="id7"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#deploy-to-fvp-images" title="Permalink to this heading">¶</a></h3>
<p>A dictionary of images.</p>
<section id="id8">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#id8" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="id9">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">overlays</a><a class="headerlink" href="#id9" title="Permalink to this heading">¶</a></h4>
<p>A list of places to apply overlays.
Either this will be applied to a partition on a disk image,
or can be applied to a ramdisk contained in a partition on that disk image.</p>
<section id="id10">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">partition *</a><a class="headerlink" href="#id10" title="Permalink to this heading">¶</a></h5>
<p>Either the root partition on the disk, or the partition that contains the ramdisk.
LAVA decides which this is from whether the <code class="docutils literal notranslate"><span class="pre">ramdisk</span></code> option is present
at the same level.
0-based index.</p>
</section>
<section id="ramdisk">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">ramdisk</a><a class="headerlink" href="#ramdisk" title="Permalink to this heading">¶</a></h5>
<p>The path to the ramdisk file relative to the root of the partition specified.</p>
</section>
</section>
</section>
</section>
<section id="to-avh">
<span id="deploy-to-avh"></span><span id="index-7"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: avh</a><a class="headerlink" href="#to-avh" title="Permalink to this heading">¶</a></h2>
<p>This deployment method handles the following tasks in serial.</p>
<ul class="simple">
<li><p>Download the <code class="docutils literal notranslate"><span class="pre">kernel</span></code>, <code class="docutils literal notranslate"><span class="pre">dtb</span></code> and <code class="docutils literal notranslate"><span class="pre">rootfs</span></code> images required by AVH custom firmware.</p></li>
<li><p>Generate a <code class="docutils literal notranslate"><span class="pre">Info.plist</span></code> file for the meta information about firmware version, type, build, unique identifier, and device identifier.</p></li>
<li><p>Create a zip package that contains the images and the <code class="docutils literal notranslate"><span class="pre">Info.plist</span></code> file.</p></li>
</ul>
<p>Example definition:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">avh</span>
<span class="w">    </span><span class="nt">options</span><span class="p">:</span>
<span class="w">      </span><span class="nt">model</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rpi4b</span>
<span class="w">      </span><span class="nt">api_endpoint</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://app.avh.arm.com/api</span>
<span class="w">      </span><span class="nt">project_name</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;Default</span><span class="nv"> </span><span class="s">Project&quot;</span>
<span class="w">    </span><span class="nt">timeout</span><span class="p">:</span>
<span class="w">      </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">rootfs</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://example.com/rpi4b/nand</span>
<span class="w">        </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ext4</span>
<span class="w">        </span><span class="c1"># root partition for LAVA test overlay</span>
<span class="w">        </span><span class="nt">root_partition</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="w">        </span><span class="c1"># partition for custom overlays</span>
<span class="w">        </span><span class="nt">partition</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<span class="w">        </span><span class="nt">overlays</span><span class="p">:</span>
<span class="w">          </span><span class="nt">modules</span><span class="p">:</span>
<span class="w">            </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">            </span><span class="nt">format</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
<span class="w">            </span><span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/</span>
<span class="w">            </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://example.com/rpi4b/modules.tar.xz</span>
<span class="w">      </span><span class="nt">kernel</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://example.com/rpi4b/kernel</span>
<span class="w">      </span><span class="nt">dtb</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://example.com/rpi4b/devicetree</span>
</pre></div>
</div>
<section id="options">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">options</a><a class="headerlink" href="#options" title="Permalink to this heading">¶</a></h3>
<p>A dictionary of AVH configuration.</p>
<section id="model">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">model</a><a class="headerlink" href="#model" title="Permalink to this heading">¶</a></h4>
<p>This <code class="docutils literal notranslate"><span class="pre">model</span></code> key is crucial and mandatory. <code class="docutils literal notranslate"><span class="pre">avh</span></code> deploy action needs it to
generate <code class="docutils literal notranslate"><span class="pre">Info.plist</span></code> file. <code class="docutils literal notranslate"><span class="pre">avh</span></code> boot action needs it to create instance.</p>
<p>Here are the tested models in LAVA.</p>
<ul class="simple">
<li><p>rpi4b</p></li>
<li><p>imx93</p></li>
</ul>
<p>Other models that capable to run Linux should work too.</p>
</section>
<section id="api-endpoint">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">api_endpoint</a><a class="headerlink" href="#api-endpoint" title="Permalink to this heading">¶</a></h4>
<p>(optional): AVH API endpoint defaults to <a class="reference external" href="https://app.avh.arm.com/api">https://app.avh.arm.com/api</a>.</p>
</section>
<section id="project-name">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">project_name</a><a class="headerlink" href="#project-name" title="Permalink to this heading">¶</a></h4>
<p>(optional): AVH project name defaults to <code class="docutils literal notranslate"><span class="pre">Default</span> <span class="pre">Project</span></code>.</p>
</section>
</section>
<section id="id11">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#id11" title="Permalink to this heading">¶</a></h3>
<p>A dictionary of images to provide the images needed for creating AVH Linux
firmware zip package.</p>
<section id="rootfs">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">rootfs</a><a class="headerlink" href="#rootfs" title="Permalink to this heading">¶</a></h4>
<p>OS disk image file.</p>
<section id="id12">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">url</a><a class="headerlink" href="#id12" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="format">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">format</a><a class="headerlink" href="#format" title="Permalink to this heading">¶</a></h5>
<p>Specify disk image format for LAVA to apply overlay. <code class="docutils literal notranslate"><span class="pre">ext4</span></code> is the only
supported format now.</p>
</section>
<section id="root-partition">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">root_partition</a><a class="headerlink" href="#root-partition" title="Permalink to this heading">¶</a></h5>
<p>Specify disk image root partition index for LAVA to apply overlay. Disk image
partition index 0 usually is the boot partition, while index 1 usually is the
root partition.</p>
</section>
<section id="id13">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">overlays</a><a class="headerlink" href="#id13" title="Permalink to this heading">¶</a></h5>
<p>AVH doesn’t support adding custom Kernel modules to custom Linux firmware
package yet. Fortunately, this is supported in LAVA by applying custom
<code class="docutils literal notranslate"><span class="pre">overlays.modules</span></code> into the <code class="docutils literal notranslate"><span class="pre">rootfs</span></code> image.</p>
</section>
</section>
<section id="kernel">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">kernel</a><a class="headerlink" href="#kernel" title="Permalink to this heading">¶</a></h4>
<p>The Linux kernel in the <code class="docutils literal notranslate"><span class="pre">Image</span></code> format.</p>
</section>
<section id="dtb">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">dtb</a><a class="headerlink" href="#dtb" title="Permalink to this heading">¶</a></h4>
<p>The device tree for Linux in binary <code class="docutils literal notranslate"><span class="pre">.dtb</span></code> format.</p>
</section>
</section>
</section>
<section id="to-iso-installer">
<span id="deploy-to-iso-installer"></span><span id="index-8"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: iso-installer</a><a class="headerlink" href="#to-iso-installer" title="Permalink to this heading">¶</a></h2>
<p>Provides QEMU operations using an operating system installer into a new image
and then boot into the installed image to run the specified test definitions.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Currently only tested with Debian Installer.</p>
</div>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">timeout</span><span class="p">:</span>
<span class="w">      </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">os</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">debian_installer</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="c1"># the iso and the preseed file can be very tightly coupled.</span>
<span class="w">      </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/debian-8.3.0-amd64-CD-1.iso</span>
<span class="w">        </span><span class="nt">image_arg</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-drive file={iso},index=2,media=cdrom,readonly</span>
<span class="w">      </span><span class="nt">preseed</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/debian-8.3.0-cd1-preseed.cfg</span>
<span class="w">    </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">      </span><span class="nt">kernel</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/vmlinuz</span>
<span class="w">      </span><span class="nt">initrd</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/initrd.gz</span>
<span class="w">      </span><span class="nt">installation_size</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2G</span>
</pre></div>
</div>
<section id="deploy-to-iso-installer-images">
<span id="id14"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#deploy-to-iso-installer-images" title="Permalink to this heading">¶</a></h3>
<p>The ISO and the preseed file can be tightly coupled but point releases of a
stable release will typically continue to work with existing preseed files.
LAVA tests of the installer tend to only install the base system in order to
test kernel functionality rather than the operating system itself.</p>
<section id="iso">
<span id="deploy-to-iso-installer-images-iso"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">iso</a><a class="headerlink" href="#iso" title="Permalink to this heading">¶</a></h4>
<section id="deploy-to-iso-installer-images-iso-archive">
<span id="id15"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-iso-installer-images-iso-archive" title="Permalink to this heading">¶</a></h5>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="deploy-to-iso-installer-images-iso-compression">
<span id="id16"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-iso-installer-images-iso-compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="image-arg">
<span id="deploy-to-iso-installer-images-iso-image-arg"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">image_arg</a><a class="headerlink" href="#image-arg" title="Permalink to this heading">¶</a></h5>
<p>QEMU requires <code class="docutils literal notranslate"><span class="pre">,media=cdrom,readonly</span></code> to handle the ISO correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/debian.iso</span>
<span class="w">        </span><span class="nt">image_arg</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-drive file={iso},index=2,media=cdrom,readonly</span>
</pre></div>
</div>
<p id="deploy-to-iso-installer-images-iso-url">Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="preseed">
<span id="deploy-to-iso-installer-images-iso-preseed"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">preseed</a><a class="headerlink" href="#preseed" title="Permalink to this heading">¶</a></h4>
<p>Debian Installer can retrieve settings from a <code class="docutils literal notranslate"><span class="pre">preseed</span></code> file to allow the
installation to proceed without prompting for information.</p>
<p id="deploy-to-iso-installer-images-iso-preseed-url">Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-iso-installer-iso">
<span id="id17"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">iso</a><a class="headerlink" href="#deploy-to-iso-installer-iso" title="Permalink to this heading">¶</a></h3>
<section id="deploy-to-iso-installer-iso-kernel">
<span id="id18"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">kernel</a><a class="headerlink" href="#deploy-to-iso-installer-iso-kernel" title="Permalink to this heading">¶</a></h4>
<p>Take an absolute path specified by the test writer to copy the kernel out of
the specified iso so that necessary kernel options can be added to the default
ISO boot commands.</p>
<p>Paths to pull from the ISO need to start with <code class="docutils literal notranslate"><span class="pre">/</span></code> as the top level of the
mounted ISO.</p>
<p>Paths to pull from the ISO must also be unique.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">      </span><span class="nt">kernel</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/vmlinuz</span>
<span class="w">      </span><span class="nt">initrd</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/initrd.gz</span>
</pre></div>
</div>
</section>
<section id="initrd">
<span id="deploy-to-iso-installer-iso-initrd"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">initrd</a><a class="headerlink" href="#initrd" title="Permalink to this heading">¶</a></h4>
<p>Take an absolute path specified by the test writer to copy the kernel out of
the specified iso so that necessary kernel options can be added to the default
ISO boot commands.</p>
<p>Paths to pull from the ISO need to start with <code class="docutils literal notranslate"><span class="pre">/</span></code> as the top level of the
mounted ISO.</p>
<p>Paths to pull from the ISO must also be unique.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">      </span><span class="nt">kernel</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/vmlinuz</span>
<span class="w">      </span><span class="nt">initrd</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/install.amd/initrd.gz</span>
</pre></div>
</div>
</section>
<section id="console">
<span id="deploy-to-iso-installer-iso-console"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">console</a><a class="headerlink" href="#console" title="Permalink to this heading">¶</a></h4>
<p><code class="docutils literal notranslate"><span class="pre">console</span></code> argument to pass to QEMU.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">      </span><span class="nt">console</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ttyS0,38400,n8</span>
</pre></div>
</div>
</section>
<section id="installation-size">
<span id="deploy-to-iso-installer-iso-installation-size"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">installation_size</a><a class="headerlink" href="#installation-size" title="Permalink to this heading">¶</a></h4>
<p>Size of the empty image to be provided to the installer. Typically a maximum of
5G. Use megabytes for a smaller image, although ~1G is likely to be the
smallest practical size</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">iso-installer</span>
<span class="w">    </span><span class="nt">iso</span><span class="p">:</span>
<span class="w">      </span><span class="nt">installation_size</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2G</span>
</pre></div>
</div>
</section>
</section>
</section>
<section id="to-lxc">
<span id="deploy-to-lxc"></span><span id="index-9"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: lxc</a><a class="headerlink" href="#to-lxc" title="Permalink to this heading">¶</a></h2>
<p>Deploys / creates a LXC, based on the parameters specified as part of the
<a class="reference internal" href="actions-protocols.html#lxc-protocol-reference"><span class="std std-ref">LXC protocol</span></a>.</p>
<section id="packages">
<span id="deploy-to-lxc-packages"></span><span id="index-10"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">packages</a><a class="headerlink" href="#packages" title="Permalink to this heading">¶</a></h3>
<p>List of packages that should be installed as part of LXC creation.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Applies only <cite>to: lxc</cite> deploy action.</p>
</div>
<p>In the example, <cite>android-tools-adb</cite> and <cite>android-tools-fastboot</cite> are the
packages that should be installed as part of LXC creation.</p>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">namespace</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tlxc</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">5</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">lxc</span><span class="whitespace">
    </span><span class="name tag">packages</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="literal scalar plain">android-tools-adb</span><span class="whitespace">
    </span><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="literal scalar plain">android-tools-fastboot</span></code></pre>
</section>
</section>
<section id="to-musca">
<span id="deploy-to-musca"></span><span id="index-11"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: musca</a><a class="headerlink" href="#to-musca" title="Permalink to this heading">¶</a></h2>
<p>This deployment method allows deployment of software to musca devices. Currently supported musca devices: <a class="reference external" href="https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a-test-chip-board">musca a</a>, <a class="reference external" href="https://developer.arm.com/tools-and-software/development-boards/iot-test-chips-and-boards/musca-b-test-chip-board">musca b1</a> and <a class="reference external" href="https://developer.arm.com/tools-and-software/development-boards/iot-test-chips-and-boards/musca-s1-test-chip-board">musca s1</a>.</p>
<p>The board is powered on and the mass storage device is mounted.
The test binary is copied to the MSD and then the MSD is unmounted.
When the board processes it, the MSD will be re-exposed to the dispatcher,
at which point this is re-mounted and LAVA will check for the presence of a <code class="docutils literal notranslate"><span class="pre">FAIL.TXT</span></code>
file, in case of errors.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Some initial setup steps are required to ensure that the Musca device serves it’s MSD when it is powered on.
Check <a class="reference external" href="https://github.com/ARMmbed/DAPLink/blob/master/docs/MSD_COMMANDS.md">here</a> for details
on how to setup the board to auto-boot when it is programmed or turned on.
Ensure <code class="docutils literal notranslate"><span class="pre">DETAILS.TXT</span></code> on the MSD shows “Auto Reset” and “Auto Power” are activated.</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>LAVA won’t deploy firmware to the Musca board and so it must be fixed per device.
Firmware used is available <a class="reference external" href="https://community.arm.com/developer/tools-software/oss-platforms/w/docs/318/musca-a-firmware-update-qspi-boot-recovery">here</a>.</p>
</div>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">musca</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">test_binary</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://community.arm.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-10/MuscaBlinky_5F00_v002.hex</span>
</pre></div>
</div>
<section id="id19">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#id19" title="Permalink to this heading">¶</a></h3>
<section id="test-binary">
<span id="deploy-to-musca-test-binary"></span><span id="index-12"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">test_binary</a><a class="headerlink" href="#test-binary" title="Permalink to this heading">¶</a></h4>
<p>Download test binary to the Musca device.</p>
<section id="deploy-to-musca-binary-url">
<span id="id20"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-musca-binary-url" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are check-summed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
</section>
</section>
<section id="to-nbd">
<span id="deploy-to-nbd"></span><span id="index-13"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: nbd</a><a class="headerlink" href="#to-nbd" title="Permalink to this heading">¶</a></h2>
<p>Used to support NBDroot deployments, e.g. using a initrd with nbd-client
and pivot_root. Files are downloaded to a temporary directory on the worker,
the rootfs is shared through xnbd-server and the filenames are substituted into the
bootloader commands specified in the device configuration or overridden in the
job. The files to download typically include a kernel but can also include any
file which the substitution commands need for this deployment. URL support is
handled by the python <code class="docutils literal notranslate"><span class="pre">requests</span></code> module.</p>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">4</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">nbd</span><span class="whitespace">
    </span><span class="name tag">kernel</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/vmlinuz</span><span class="whitespace">
      </span><span class="name tag">type</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">zimage</span><span class="whitespace">
    </span><span class="name tag">initrd</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/initramfs.ext4.gz.u-boot</span><span class="whitespace">
    </span><span class="name tag">nbdroot</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/rootfs.ext4.xz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">xz</span><span class="whitespace">
    </span><span class="name tag">dtb</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/dtb.dtb</span></code></pre>
<section id="deploy-to-nbd-kernel">
<span id="id21"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">kernel</a><a class="headerlink" href="#deploy-to-nbd-kernel" title="Permalink to this heading">¶</a></h3>
<p>To deploy images using NBDroot, arguments will be downloaded to a configured directory.</p>
<section id="deploy-to-nbd-kernel-url">
<span id="id22"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-nbd-kernel-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="type">
<span id="deploy-to-nbd-kernel-type"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">type</a><a class="headerlink" href="#type" title="Permalink to this heading">¶</a></h4>
<p>Specifies the type of kernel being downloaded. Some bootloaders, for example
<a class="reference external" href="http://www.denx.de/wiki/U-Boot">U-Boot</a>, use this information to determine the load addresses and boot commands.
Certain <a class="reference internal" href="glossary.html#term-device-type"><span class="xref std std-term">device types</span></a> may also need the downloaded file to
be converted to a <code class="docutils literal notranslate"><span class="pre">uImage</span></code>.</p>
<aside class="topic">
<p class="topic-title">Supported types</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">image</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zimage</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">uimage</span></code></p></li>
</ul>
</aside>
<p>(Replaces the previous support for specifying the boot type (<code class="docutils literal notranslate"><span class="pre">bootm</span></code>,
<code class="docutils literal notranslate"><span class="pre">booti</span></code> or <code class="docutils literal notranslate"><span class="pre">bootz</span></code>).</p>
</section>
</section>
<section id="deploy-to-nbd-dtb">
<span id="id23"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">dtb</a><a class="headerlink" href="#deploy-to-nbd-dtb" title="Permalink to this heading">¶</a></h3>
<p>Device Tree Blob</p>
<section id="deploy-to-nbd-dtb-url">
<span id="id24"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-nbd-dtb-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="modules">
<span id="deploy-to-nbd-modules"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">modules</a><a class="headerlink" href="#modules" title="Permalink to this heading">¶</a></h3>
<p>This is not supported in the deployment strategy. Modules must be part of the filesystem already.</p>
</section>
<section id="deploy-to-nbd-initrd">
<span id="id25"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">initrd</a><a class="headerlink" href="#deploy-to-nbd-initrd" title="Permalink to this heading">¶</a></h3>
<p>The initrd contains all necessary files, daemons and scripts to
bring-up the nbd-client and pivot_root to the final rootfs.
There are a few important aspects:</p>
<ul class="simple">
<li><p>The nbdroot filesystem will not be modified prior to the boot.
The filesystems are using security labels and this would alternate the fs.
The lava test shell needs to be extracted at runtime with transfer_overlay.</p></li>
</ul>
<section id="deploy-to-nbd-initrd-url">
<span id="id26"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-nbd-initrd-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="nbdroot">
<span id="deploy-to-nbd-nbdroot"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">nbdroot</a><a class="headerlink" href="#nbdroot" title="Permalink to this heading">¶</a></h3>
<section id="deploy-to-nbd-nbdroot-url">
<span id="id27"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-nbd-nbdroot-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-nbd-nfsroot-archive">
<span id="id28"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-nbd-nfsroot-archive" title="Permalink to this heading">¶</a></h4>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
<section id="deploy-to-nbd-nfsroot-compression">
<span id="id29"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-nbd-nfsroot-compression" title="Permalink to this heading">¶</a></h5>
<p>The NBD filesystem image is unpacked into a temporary directory onto the dispatcher in a location supported by NBD server. The compression method <strong>must</strong> be specified
so that the filesystem can be unpacked.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-nbd-images-md5sum">
<span id="id30"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">md5sum</a><a class="headerlink" href="#deploy-to-nbd-images-md5sum" title="Permalink to this heading">¶</a></h4>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">md5sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">d8784b27867b3dcad90cbea66eacc264</span>
</pre></div>
</div>
</section>
<section id="deploy-to-nbd-images-sha256sum">
<span id="id31"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">sha256sum</a><a class="headerlink" href="#deploy-to-nbd-images-sha256sum" title="Permalink to this heading">¶</a></h4>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha256sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
<section id="id32">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">sha512sum</a><a class="headerlink" href="#id32" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha512sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="to-recovery">
<span id="deploy-to-recovery"></span><span id="index-14"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: recovery</a><a class="headerlink" href="#to-recovery" title="Permalink to this heading">¶</a></h2>
<p>Deployment to <code class="docutils literal notranslate"><span class="pre">recovery</span></code> allows the use of device dictionary commands
and an LXC test shell to automate recovery mode operations on some
DUTs.</p>
<p>Successful use of recovery deployments require support by the admins
and by the test writers.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>In recovery mode, the device may have different identifiers
and might no longer be unique. This can result in requiring a new
device-type template and only creating one device of this type on
any one worker. Not all devices can support automated recovery
mode.</p>
<p>Additionally, recovery deployments are <strong>blind</strong> - there is <code class="docutils literal notranslate"><span class="pre">udev</span></code>
support to add the device to the LXC but no serial connection, so no
output will be read from the DUT. All tools and libraries required
to execute the recovery test shell need to be added to the LXC. For
example, using an earlier test shell inside the LXC.</p>
</div>
<ol class="arabic">
<li><p>Download scripts and binaries to transfer to the device</p></li>
<li><p>Copy the downloaded artifacts into the LXC.</p></li>
<li><p>Ensure that power to the device is OFF</p></li>
<li><p>Execute the <code class="docutils literal notranslate"><span class="pre">recovery_mode_command</span></code> to use relays or similar to
put the device into recovery mode, in a dedicated <a class="reference internal" href="glossary.html#term-namespace"><span class="xref std std-term">namespace</span></a>.</p>
<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">recovery_mode_command</span> <span class="o">=</span> <span class="o">[</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 1 -s off&#39;</span><span class="o">,</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 2 -s on&#39;</span><span class="o">]</span> <span class="cp">%}</span>
</pre></div>
</div>
</li>
<li><p>Apply power.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">    </span><span class="nt">namespace</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">recovery</span>
<span class="w">    </span><span class="nt">timeout</span><span class="p">:</span>
<span class="w">      </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5</span>
<span class="w">    </span><span class="nt">method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">recovery</span>
<span class="w">    </span><span class="nt">commands</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">recovery</span>
</pre></div>
</div>
</li>
</ol>
<p>The test job would then define a test action which executes the scripts
using the downloaded files and completes recovery. This script may have
to wait for the device to appear and as the device may then have an
unpredictable device node name, an action to create a symlink with a
known name is likely to be required. The use of LXC ensures that only
one suitable device exists, as long as the device configuration and
recovery mode operations only require a single device matching the
check in the recovery script.</p>
<p>Example: for the HiKey 6220, the <a class="reference external" href="https://github.com/96boards/documentation/wiki/HiKeyUEFI#user-content-flash-binaries-to-emmc-">recovery mode operations</a>
could be executed as steps in the test shell as follows:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">run</span><span class="p">:</span>
<span class="w">  </span><span class="nt">steps</span><span class="p">:</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">find /dev/ -name &#39;ttyUSB*&#39; -xdev -type c -quit -exec ln -s {} /dev/recovery &#39;;&#39;</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">python /lava-lxc/hisi-idt.py --img1=/lava-lxc/l-loader.bin -d /dev/recovery</span>
<span class="w">  </span><span class="c1"># fastboot should wait for the device to reset here</span>
<span class="w">  </span><span class="c1"># udev rule copes with adding it to the LXC once it appears</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot flash ptable /lava-lxc/ptable-linux.img</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot flash ptable /lava-lxc/fip.bin</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">fastboot flash ptable /lava-lxc/nvme.img</span>
<span class="w">  </span><span class="c1"># next boot action takes care of exiting from recovery mode</span>
</pre></div>
</div>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Make these commands <strong>portable</strong> so that the same script
can be used to deploy new firmware to the device outside of LAVA.
When using a test shell to handle firmware deployments, make sure
that a failure of any test shell command fails the job by using
<code class="docutils literal notranslate"><span class="pre">lava-test-raise</span></code>.</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>command<span class="o">(){</span>
<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>-n<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>which<span class="w"> </span>lava-test-case<span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="nb">true</span><span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
<span class="w">        </span><span class="nb">echo</span><span class="w"> </span><span class="nv">$2</span>
<span class="w">        </span><span class="nv">$2</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>lava-test-case<span class="w"> </span><span class="s2">&quot;</span><span class="nv">$1</span><span class="s2">&quot;</span><span class="w"> </span>--result<span class="w"> </span>pass<span class="w"> </span><span class="o">||</span><span class="w"> </span>lava-test-raise<span class="w"> </span><span class="s2">&quot;</span><span class="nv">$1</span><span class="s2">&quot;</span>
<span class="w">    </span><span class="k">else</span>
<span class="w">        </span><span class="nb">echo</span><span class="w"> </span><span class="nv">$2</span>
<span class="w">        </span><span class="nv">$2</span>
<span class="w">    </span><span class="k">fi</span>
<span class="o">}</span>
</pre></div>
</div>
<p>Then call the function with two arguments, the test case name (with
no spaces) and the command to execute (with substitutions for the
parameterized variables for the files which were downloaded by the
test job):</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="nb">command</span><span class="w"> </span><span class="s1">&#39;hisi-idt-l-loader&#39;</span><span class="w"> </span><span class="s2">&quot;python </span><span class="si">${</span><span class="nv">SCRIPT</span><span class="si">}</span><span class="s2"> --img1=</span><span class="si">${</span><span class="nv">LOADER</span><span class="si">}</span><span class="s2"> -d /dev/recovery&quot;</span>
</pre></div>
</div>
<p>Take note of the quoting in this shell example. The first parameter
can use single quotes but the second parameter <strong>must</strong> use double
quotes <code class="docutils literal notranslate"><span class="pre">&quot;</span></code> so that the values of <code class="docutils literal notranslate"><span class="pre">$SCRIPT</span></code> and <code class="docutils literal notranslate"><span class="pre">$LOADER</span></code> are
substituted. Portable scripts are free to use whatever language you
prefer.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="writing-tests.html#setup-custom-scripts"><span class="std std-ref">Custom scripts</span></a> and <a class="reference internal" href="writing-tests.html#call-test-raise"><span class="std std-ref">Call lava-test-raise if setup fails</span></a></p>
</div>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="writing-tests.html#test-definition-portability"><span class="std std-ref">Write portable test definitions</span></a></p>
</div>
<p>Examples for hikey 6220:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://git.linaro.org/lava-team/refactoring.git/plain/testdefs/hikey-6220-recovery.yaml">https://git.linaro.org/lava-team/refactoring.git/plain/testdefs/hikey-6220-recovery.yaml</a></p></li>
<li><p><a class="reference external" href="https://git.linaro.org/lava-team/refactoring.git/tree/scripts/hikey-6220-recovery.sh">https://git.linaro.org/lava-team/refactoring.git/tree/scripts/hikey-6220-recovery.sh</a></p></li>
</ul>
<p>When the test shell exits, the device is reset using a second boot <code class="docutils literal notranslate"><span class="pre">recovery</span></code>
operation.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">    </span><span class="nt">namespace</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">recovery</span>
<span class="w">    </span><span class="nt">timeout</span><span class="p">:</span>
<span class="w">      </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5</span>
<span class="w">    </span><span class="nt">method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">recovery</span>
<span class="w">    </span><span class="nt">commands</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">exit</span>
</pre></div>
</div>
<p>A <code class="docutils literal notranslate"><span class="pre">recovery_exit_command</span></code> must be specified in the device dictionary.</p>
<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">recovery_exit_command</span> <span class="o">=</span> <span class="o">[</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 1 -s on&#39;</span><span class="o">,</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 2 -s off&#39;</span><span class="o">]</span> <span class="cp">%}</span>
</pre></div>
</div>
<p>Test jobs can terminate early (either through bugs or cancellation), so
it is important to include the <code class="docutils literal notranslate"><span class="pre">recovery_exit</span></code> support in the
<code class="docutils literal notranslate"><span class="pre">power_off_command</span></code> so that the device is left in a suitable state
for the next test job in the queue.</p>
<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">power_off_command</span> <span class="o">=</span> <span class="o">[</span><span class="s1">&#39;/usr/bin/pduclient --daemon calvin --hostname pdu --command off --port 04&#39;</span><span class="o">,</span>
<span class="s1">&#39;sleep 30&#39;</span><span class="o">,</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 1 -s on&#39;</span><span class="o">,</span>
<span class="s1">&#39;/home/neil/lava-lab/shared/lab-scripts/eth008_control -a 10.15.0.171 -r 2 -s off&#39;</span><span class="o">]</span> <span class="cp">%}</span>
</pre></div>
</div>
<p>The additional command may take some time to complete, so the timeout
of the power_off action may also need extending in the device-type
template.</p>
<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">action_timeout_power_off</span> <span class="o">=</span> <span class="m">60</span> <span class="cp">%}</span>
</pre></div>
</div>
</section>
<section id="to-sata">
<span id="deploy-to-sata"></span><span id="index-15"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: sata</a><a class="headerlink" href="#to-sata" title="Permalink to this heading">¶</a></h2>
<p>Deploy unchanged images to secondary SATA media. Any bootloader inside the
image will <strong>not</strong> be used. Instead, the files needed for the boot are
specified in the deployment. The entire physical device is available to the
secondary deployment. Secondary relates to the expected requirement of a
primary boot (e.g. ramdisk or NFS) which provides a suitable working
environment to deploy the image directly to the secondary device. See
<a class="reference internal" href="secondary-media.html#secondary-media"><span class="std std-ref">Secondary media</span></a>.</p>
<p>Not all devices support SATA media.</p>
<p>The test writer needs to provide the following information about the image:</p>
<section id="deploy-to-sata-kernel">
<span id="index-16"></span><span id="id33"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">kernel *</a><a class="headerlink" href="#deploy-to-sata-kernel" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>kernel</strong>: The path, within the image, to the kernel which will be used by
the bootloader.</p></li>
</ul>
</section>
<section id="deploy-to-sata-ramdisk">
<span id="index-17"></span><span id="id34"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">ramdisk</a><a class="headerlink" href="#deploy-to-sata-ramdisk" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>ramdisk</strong>: (optional). If used, must be a path, within the image, which the
bootloader can use.</p></li>
</ul>
</section>
<section id="deploy-to-sata-dtb">
<span id="index-18"></span><span id="id35"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">dtb *</a><a class="headerlink" href="#deploy-to-sata-dtb" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>dtb</strong>: The path, within the image, to the dtb which will be used by the
bootloader.</p></li>
</ul>
</section>
<section id="uuid">
<span id="deploy-to-sata-uuid"></span><span id="index-19"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">UUID *</a><a class="headerlink" href="#uuid" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>UUID</strong>: The UUID of the partition which contains the root filesystem of the
booted image.</p></li>
</ul>
</section>
<section id="boot-part">
<span id="deploy-to-sata-boot-part"></span><span id="index-20"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">boot_part *</a><a class="headerlink" href="#boot-part" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>boot_part</strong>: the partition on the media from which the bootloader can read
the kernel, ramdisk &amp; dtb.</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If the image mounts the boot partition at a mounpoint below the root
directory of the image, the path to files within that partition must <strong>not</strong>
include that mountpoint. The bootloader will read the files directly from
the partition.</p>
</div>
</section>
</section>
<section id="to-ssh">
<span id="deploy-to-ssh"></span><span id="index-21"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: ssh</a><a class="headerlink" href="#to-ssh" title="Permalink to this heading">¶</a></h2>
<p>SSH methods can support two types of deployment.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="connections.html#primary-remote-connection"><span class="std std-ref">Primary remote connection</span></a> and
<a class="reference internal" href="connections.html#ssh-as-the-primary-remote-connection"><span class="std std-ref">SSH as the primary remote connection</span></a> as an example of the
primary ssh connection.</p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="connections.html#secondary-connection"><span class="std std-ref">Secondary Connection</span></a></p>
</div>
<section id="connection">
<span id="deploy-to-ssh-connection"></span><span id="index-22"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">connection</a><a class="headerlink" href="#connection" title="Permalink to this heading">¶</a></h3>
</section>
<section id="protocols">
<span id="deploy-to-ssh-protocols"></span><span id="index-23"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">protocols</a><a class="headerlink" href="#protocols" title="Permalink to this heading">¶</a></h3>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">role</span><span class="p">:</span>
<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">guest</span>
<span class="w">    </span><span class="nt">connection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ssh</span>
<span class="w">    </span><span class="nt">protocols</span><span class="p">:</span>
<span class="w">      </span><span class="nt">lava-multinode</span><span class="p">:</span>
<span class="w">      </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">action</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">prepare-scp-overlay</span>
<span class="w">        </span><span class="nt">request</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">lava-wait</span>
<span class="w">        </span><span class="c1"># messageID matches hostID</span>
<span class="w">        </span><span class="nt">messageID</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ipv4</span>
<span class="w">        </span><span class="nt">message</span><span class="p">:</span>
<span class="w">          </span><span class="c1"># the key of the message matches value of the host_key</span>
<span class="w">          </span><span class="c1"># the value of the message gets substituted</span>
<span class="w">          </span><span class="nt">ipaddr</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$ipaddr</span>
<span class="w">        </span><span class="nt">timeout</span><span class="p">:</span><span class="w">  </span><span class="c1"># delay_start timeout</span>
<span class="w">          </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">21</span>
<span class="w">    </span><span class="nt">timeout</span><span class="p">:</span>
<span class="w">      </span><span class="nt">minutes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">22</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ssh</span>
</pre></div>
</div>
</section>
</section>
<section id="to-tftp">
<span id="deploy-to-tftp"></span><span id="index-24"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: tftp</a><a class="headerlink" href="#to-tftp" title="Permalink to this heading">¶</a></h2>
<p>Used to support TFTP deployments, e.g. using U-Boot. Files are downloaded to a
temporary directory in the TFTP tree and the filenames are substituted into the
bootloader commands specified in the device configuration or overridden in the
job. The files to download typically include a kernel but can also include any
file which the substitution commands need for this deployment. URL support is
handled by the python <code class="docutils literal notranslate"><span class="pre">requests</span></code> module.</p>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">4</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tftp</span><span class="whitespace">
    </span><span class="name tag">kernel</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/vmlinuz-4.9.0-4-armmp</span><span class="whitespace">
      </span><span class="name tag">type</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">zimage</span><span class="whitespace">
    </span><span class="name tag">ramdisk</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/initrd.img-4.9.0-4-armmp.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="comment single"># modules</span><span class="whitespace">
    </span><span class="name tag">modules</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/modules.tar.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="comment single"># despite this being a Debian initramfs, it is not a complete Debian rootfs, so use oe compatibility</span><span class="whitespace">
    </span><span class="name tag">dtb</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/am335x-boneblack.dtb</span><span class="whitespace">

</span><span class="comment single"># BOOT_BLOCK</span><span class="whitespace">
</span><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">boot</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">method</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">u-boot</span><span class="whitespace">
    </span><span class="name tag">commands</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">ramdisk</span><span class="whitespace">
    </span><span class="name tag">prompts</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="comment single"># escape the brackets to ensure that the prompt does not match</span><span class="whitespace">
    </span><span class="comment single"># kernel debug lines which may mention initramfs</span><span class="whitespace">
    </span><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="literal string">'\(initramfs\)'</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">2</span></code></pre>
<section id="deploy-to-tftp-kernel">
<span id="id36"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">kernel</a><a class="headerlink" href="#deploy-to-tftp-kernel" title="Permalink to this heading">¶</a></h3>
<p>To deploy images using TFTP, arguments will be downloaded to a configured tftp
directory.</p>
<section id="deploy-to-tftp-kernel-type">
<span id="id37"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">type</a><a class="headerlink" href="#deploy-to-tftp-kernel-type" title="Permalink to this heading">¶</a></h4>
<p>Specifies the type of kernel being downloaded. Some bootloaders, for example
<a class="reference external" href="http://www.denx.de/wiki/U-Boot">U-Boot</a>, use this information to determine the load addresses and boot commands.
Certain <a class="reference internal" href="glossary.html#term-device-type"><span class="xref std std-term">device types</span></a> may also need the downloaded file to
be converted to a <code class="docutils literal notranslate"><span class="pre">uImage</span></code>.</p>
<aside class="topic">
<p class="topic-title">Supported types</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">image</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zimage</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">uimage</span></code></p></li>
</ul>
</aside>
<p>(Replaces the previous support for specifying the boot type (<code class="docutils literal notranslate"><span class="pre">bootm</span></code>,
<code class="docutils literal notranslate"><span class="pre">booti</span></code> or <code class="docutils literal notranslate"><span class="pre">bootz</span></code>).</p>
</section>
<section id="deploy-to-tftp-kernel-url">
<span id="id39"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tftp-kernel-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-tftp-dtb">
<span id="id40"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">dtb</a><a class="headerlink" href="#deploy-to-tftp-dtb" title="Permalink to this heading">¶</a></h3>
<p>Device Tree Blob.</p>
<section id="deploy-to-tftp-dtb-url">
<span id="id41"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tftp-dtb-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-tftp-modules">
<span id="id42"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">modules</a><a class="headerlink" href="#deploy-to-tftp-modules" title="Permalink to this heading">¶</a></h3>
<p>A tarball of kernel modules for the supplied kernel. The file <strong>must</strong> be a tar
file and the compression method <strong>must</strong> be specified. If the kernel requires
these modules to be able to locate the rootfs, e.g. when using NFS or if
certain required filesystem drivers are only available as modules, the ramdisk
can be unpacked and the modules added. Modules may also be required to run
tests within the ramdisk itself.</p>
<section id="deploy-to-tftp-modules-url">
<span id="id43"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tftp-modules-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-tftp-modules-archive">
<span id="id44"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-tftp-modules-archive" title="Permalink to this heading">¶</a></h4>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="deploy-to-tftp-modules-compression">
<span id="id45"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-tftp-modules-compression" title="Permalink to this heading">¶</a></h4>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-tftp-ramdisk">
<span id="id46"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">ramdisk</a><a class="headerlink" href="#deploy-to-tftp-ramdisk" title="Permalink to this heading">¶</a></h3>
<p>The ramdisk needs to be unpacked and modified in either of the following two
use cases:</p>
<ul class="simple">
<li><p>the lava test shell is expected to run inside the ramdisk, or</p></li>
<li><p>the deployment needs modules to be added to the ramdisk, for example to allow
the device to load the network driver to be able to locate the NFS.</p></li>
</ul>
<p>To unpack the ramdisk, the test writer needs to specify details about how the
ramdisk is prepared and used. If these details are not provided, the ramdisk
will not be unpacked (potentially causing the test to fail in the above two use
cases).</p>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">4</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tftp</span><span class="whitespace">
    </span><span class="name tag">kernel</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/vmlinuz-4.9.0-4-armmp</span><span class="whitespace">
      </span><span class="name tag">type</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">zimage</span><span class="whitespace">
    </span><span class="name tag">ramdisk</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/initrd.img-4.9.0-4-armmp.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="comment single"># modules</span><span class="whitespace">
    </span><span class="name tag">modules</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/modules.tar.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="comment single"># despite this being a Debian initramfs, it is not a complete Debian rootfs, so use oe compatibility</span><span class="whitespace">
    </span><span class="name tag">dtb</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/am335x-boneblack.dtb</span></code></pre>
<section id="deploy-to-tftp-ramdisk-url">
<span id="id47"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tftp-ramdisk-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-tftp-ramdisk-archive">
<span id="id48"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-tftp-ramdisk-archive" title="Permalink to this heading">¶</a></h4>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="deploy-to-tftp-ramdisk-compression">
<span id="id49"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-tftp-ramdisk-compression" title="Permalink to this heading">¶</a></h4>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="header">
<span id="deploy-to-tftp-ramdisk-header"></span><span id="index-25"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">header</a><a class="headerlink" href="#header" title="Permalink to this heading">¶</a></h4>
<p>If a header is already applied, the <code class="docutils literal notranslate"><span class="pre">header</span></code> value <strong>must</strong> specify the type
of header, e.g. <code class="docutils literal notranslate"><span class="pre">u-boot</span></code>. This header will be removed before unpacking, ready
for the LAVA overlay files.</p>
</section>
</section>
<section id="nfsrootfs">
<span id="deploy-to-tftp-nfsrootfs"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">nfsrootfs</a><a class="headerlink" href="#nfsrootfs" title="Permalink to this heading">¶</a></h3>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">10</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tftp</span><span class="whitespace">
    </span><span class="name tag">kernel</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/vmlinuz-4.9.0-4-armmp</span><span class="whitespace">
      </span><span class="name tag">type</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">zimage</span><span class="whitespace">
    </span><span class="name tag">ramdisk</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/initrd.img-4.9.0-4-armmp.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="name tag">modules</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/modules.tar.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="name tag">nfsrootfs</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/stretch-armhf-nfs.tar.gz</span><span class="whitespace">
      </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span><span class="whitespace">
    </span><span class="name tag">dtb</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/dtbs/am335x-boneblack.dtb</span></code></pre>
<section id="deploy-to-tftp-nfsrootfs-url">
<span id="id50"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tftp-nfsrootfs-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-tftp-nfsrootfs-archive">
<span id="id51"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-tftp-nfsrootfs-archive" title="Permalink to this heading">¶</a></h4>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="deploy-to-tftp-nfsrootfs-compression">
<span id="id52"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-tftp-nfsrootfs-compression" title="Permalink to this heading">¶</a></h4>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Additional NFS mount options can be added via job definition context
i.e. <code class="docutils literal notranslate"><span class="pre">nfsvers</span></code> argument which specifies which version of the NFS protocol
to use.</p>
</div>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">context</span><span class="p">:</span>
<span class="w">  </span><span class="nt">extra_nfsroot_args</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;,nolock,nfsvers=3&quot;</span>
</pre></div>
</div>
</section>
</section>
<section id="persistent-nfs">
<span id="deploy-to-tftp-persistent-nfs"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">persistent_nfs</a><a class="headerlink" href="#persistent-nfs" title="Permalink to this heading">¶</a></h3>
<p>A persistent NFS URL can be used instead of a compressed tarball. See
<a class="reference internal" href="connections.html#persistence"><span class="std std-ref">Persistence</span></a> for the limitations of persistent storage.</p>
<aside class="topic">
<p class="topic-title">Known Caveats</p>
<ul class="simple">
<li><p>modules are not extracted into the persistent NFS mount</p></li>
<li><p>job definition must have a test action</p></li>
</ul>
</aside>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>LAVA does not shut down the device or attempt to unmount the NFS
filesystem when the job finishes; the device is simply powered off. The test
writer needs to ensure that any background processes started by the test
have been stopped before the test finishes.</p>
</div>
<section id="address">
<span id="deploy-to-tftp-persistent-address"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">address *</a><a class="headerlink" href="#address" title="Permalink to this heading">¶</a></h4>
<p>Specifies the address to use for the persistent filesystem.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">address</span></code> <strong>must</strong> include the IP address of the NFS server and the full
path to the directory which contains the root filesystem, separated by a single
colon. In the YAML, all values containing a colon <strong>must</strong> be quoted:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tftp</span>
<span class="w">    </span><span class="nt">kernel</span><span class="p">:</span>
<span class="w">      </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/vmlinuz-4.9.0-4-armmp</span>
<span class="w">      </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">zimage</span>
<span class="w">    </span><span class="nt">persistent_nfs</span><span class="p">:</span>
<span class="w">      </span><span class="nt">address</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;127.0.0.1:/var/lib/lava/dispatcher/tmp/armhf/stretch&quot;</span>
</pre></div>
</div>
</section>
</section>
</section>
<section id="to-tmpfs">
<span id="deploy-to-tmpfs"></span><span id="index-26"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: tmpfs</a><a class="headerlink" href="#to-tmpfs" title="Permalink to this heading">¶</a></h2>
<p>Used to support QEMU device types which run on a dispatcher. The file is
downloaded to a temporary directory and made available as one or more images,
appending specified arguments to a predetermined QEMU command line:</p>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">4</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tmpfs</span><span class="whitespace">
    </span><span class="name tag">images</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">rootfs</span><span class="punctuation">:</span><span class="whitespace">
          </span><span class="name tag">image_arg</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">-drive format=raw,file={rootfs}</span><span class="whitespace">
          </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/stretch.img.gz</span><span class="whitespace">
          </span><span class="name tag">sha256sum</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">b5cdb3b9e65fec2d3654a05dcdf507281f408b624535b33375170d1e852b982c</span><span class="whitespace">
          </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span></code></pre>
<section id="deploy-to-tmpfs-images">
<span id="id53"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#deploy-to-tmpfs-images" title="Permalink to this heading">¶</a></h3>
<p>To deploy images using QEMU, arguments need to be prepared and then modified to
include the downloaded location of the image files. The test writer needs to
specify the format of the image and other image-specific arguments for QEMU
along with a placeholder <strong>label</strong> which is unique for this test job.</p>
<section id="deploy-to-tmpfs-images-label">
<span id="id54"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">label</a><a class="headerlink" href="#deploy-to-tmpfs-images-label" title="Permalink to this heading">¶</a></h4>
<p>The label is arbitrary text, used to match the other parameters to the
placeholder so that the final value can be substituted in place of the
placeholder.</p>
<p>In the example, the label is <code class="docutils literal notranslate"><span class="pre">rootfs</span></code> and the <code class="docutils literal notranslate"><span class="pre">url</span></code> includes the matching
placeholder <code class="docutils literal notranslate"><span class="pre">{rootfs}</span></code>. If the final location of the downloaded image
is <code class="docutils literal notranslate"><span class="pre">/tmp/tmp.rG542e/large-stable-6.img</span></code> then the final argument passed to
QEMU would include <code class="docutils literal notranslate"><span class="pre">-drive</span> <span class="pre">format=raw,file=/tmp/tmp.rG542e/large-stable-6.img</span></code>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Take note of the syntax. Single brace before and after the label and
<strong>no whitespace</strong>. This is test job syntax, not Jinja.</p>
</div>
<pre class="code yaml literal-block"><code><span class="punctuation indicator">-</span><span class="whitespace"> </span><span class="name tag">deploy</span><span class="punctuation">:</span><span class="whitespace">
    </span><span class="name tag">timeout</span><span class="punctuation">:</span><span class="whitespace">
      </span><span class="name tag">minutes</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">4</span><span class="whitespace">
    </span><span class="name tag">to</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">tmpfs</span><span class="whitespace">
    </span><span class="name tag">images</span><span class="punctuation">:</span><span class="whitespace">
        </span><span class="name tag">rootfs</span><span class="punctuation">:</span><span class="whitespace">
          </span><span class="name tag">image_arg</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">-drive format=raw,file={rootfs}</span><span class="whitespace">
          </span><span class="name tag">url</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">http://example.com/stretch.img.gz</span><span class="whitespace">
          </span><span class="name tag">sha256sum</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">b5cdb3b9e65fec2d3654a05dcdf507281f408b624535b33375170d1e852b982c</span><span class="whitespace">
          </span><span class="name tag">compression</span><span class="punctuation">:</span><span class="whitespace"> </span><span class="literal scalar plain">gz</span></code></pre>
<section id="deploy-to-tmpfs-images-image-arg">
<span id="index-27"></span><span id="id55"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">image_arg</a><a class="headerlink" href="#deploy-to-tmpfs-images-image-arg" title="Permalink to this heading">¶</a></h5>
<p>The <code class="docutils literal notranslate"><span class="pre">image_arg</span></code> determines how QEMU handles the image. The arguments <strong>must</strong>
include a placeholder <a class="reference internal" href="#deploy-to-tmpfs-images-label"><span class="std std-ref">label</span></a> which exactly matches
the key of the same block in the list of images. The actual location of the
downloaded file will then replace the placeholder. Multiple images can be
supplied but the test writer is responsible for ensuring that the <code class="docutils literal notranslate"><span class="pre">image_arg</span></code>
make sense to QEMU.</p>
</section>
<section id="deploy-to-tmpfs-images-url">
<span id="id56"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-tmpfs-images-url" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-tmpfs-archive">
<span id="id57"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">archive</a><a class="headerlink" href="#deploy-to-tmpfs-archive" title="Permalink to this heading">¶</a></h5>
<p>Some system images are compressed as a tarball (<code class="docutils literal notranslate"><span class="pre">.tar.*</span></code>), these images
need the <code class="docutils literal notranslate"><span class="pre">archive</span></code> option specified to unpack the system image correctly.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/boot.tar.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">archive</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tar</span>
</pre></div>
</div>
</section>
<section id="deploy-to-tmpfs-images-compression">
<span id="id58"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-tmpfs-images-compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-tmpfs-images-md5sum">
<span id="id59"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">md5sum</a><a class="headerlink" href="#deploy-to-tmpfs-images-md5sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">md5sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">d8784b27867b3dcad90cbea66eacc264</span>
</pre></div>
</div>
</section>
<section id="deploy-to-tmpfs-images-sha256sum">
<span id="id60"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sha256sum</a><a class="headerlink" href="#deploy-to-tmpfs-images-sha256sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha256sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
<section id="id61">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">sha512sum</a><a class="headerlink" href="#id61" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha512sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="to-usb">
<span id="deploy-to-usb"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: usb</a><a class="headerlink" href="#to-usb" title="Permalink to this heading">¶</a></h2>
<p>Deploy unchanged images to secondary USB media. Any bootloader inside the image
will <strong>not</strong> be used. Instead, the files needed for the boot are specified in
the deployment. The entire physical device is available to the secondary
deployment. Secondary relates to the expected requirement of a primary boot
(e.g. ramdisk or NFS) which provides a suitable working environment to deploy
the image directly to the secondary device. See <a class="reference internal" href="secondary-media.html#secondary-media"><span class="std std-ref">Secondary media</span></a>.</p>
<p>Not all devices support USB media.</p>
<p>The test writer needs to provide the following information about the image:</p>
<section id="deploy-to-usb-kernel">
<span id="index-28"></span><span id="id62"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">kernel *</a><a class="headerlink" href="#deploy-to-usb-kernel" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>kernel</strong>: The path, within the image, to the kernel which
will be used by the bootloader.</p></li>
</ul>
</section>
<section id="deploy-to-usb-ramdisk">
<span id="index-29"></span><span id="id63"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">ramdisk</a><a class="headerlink" href="#deploy-to-usb-ramdisk" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>ramdisk</strong>: (optional). If used, must be a path, within the
image, which the bootloader can use.</p></li>
</ul>
</section>
<section id="deploy-to-usb-dtb">
<span id="index-30"></span><span id="id64"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">dtb *</a><a class="headerlink" href="#deploy-to-usb-dtb" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>dtb</strong>: The path, within the image, to the dtb which will be used by the
bootloader.</p></li>
</ul>
</section>
<section id="deploy-to-usb-uuid">
<span id="index-31"></span><span id="id65"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">UUID *</a><a class="headerlink" href="#deploy-to-usb-uuid" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>UUID</strong>: The UUID of the partition which contains the root filesystem of the
booted image.</p></li>
</ul>
</section>
<section id="deploy-to-usb-boot-part">
<span id="index-32"></span><span id="id66"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">boot_part *</a><a class="headerlink" href="#deploy-to-usb-boot-part" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><strong>boot_part</strong>: the partition on the media from which the bootloader can read
the kernel, ramdisk &amp; dtb.</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If the image mounts the boot partition at a mounpoint below the root
directory of the image, the path to files within that partition must <strong>not</strong>
include that mountpoint. The bootloader will read the files directly from
the partition.</p>
</div>
<p>The UUID can be obtained by writing the image to local media and checking the
contents of <code class="docutils literal notranslate"><span class="pre">/dev/disk/by-uuid</span></code></p>
<p>The ramdisk may need adjustment for some bootloaders (like U-Boot), so mount
the local media and use something like:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkimage</span> <span class="o">-</span><span class="n">A</span> <span class="n">arm</span> <span class="o">-</span><span class="n">T</span> <span class="n">ramdisk</span> <span class="o">-</span><span class="n">C</span> <span class="n">none</span> <span class="o">-</span><span class="n">d</span> <span class="o">/</span><span class="n">mnt</span><span class="o">/</span><span class="n">boot</span><span class="o">/</span><span class="n">init</span><span class="o">..</span> <span class="o">/</span><span class="n">mnt</span><span class="o">/</span><span class="n">boot</span><span class="o">/</span><span class="n">init</span><span class="o">..</span><span class="n">u</span><span class="o">-</span><span class="n">boot</span>
</pre></div>
</div>
</section>
</section>
<section id="to-vemsd">
<span id="deploy-to-vemsd"></span><span id="index-33"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: vemsd</a><a class="headerlink" href="#to-vemsd" title="Permalink to this heading">¶</a></h2>
<p><code class="docutils literal notranslate"><span class="pre">VEMSD</span></code> or Versatile Express MicroSD is a deployment method to
write a new recovery image.</p>
<section id="recovery-image">
<span id="deploy-to-vemsd-recovery"></span><span id="index-34"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">recovery_image</a><a class="headerlink" href="#recovery-image" title="Permalink to this heading">¶</a></h3>
<p>Download the URL ready to be unpacked onto the MicroSD.</p>
<section id="deploy-to-vemsd-recovery-url">
<span id="id67"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-vemsd-recovery-url" title="Permalink to this heading">¶</a></h4>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-vemsd-recovery-compression">
<span id="id68"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-vemsd-recovery-compression" title="Permalink to this heading">¶</a></h4>
<p>If the image is compressed, the compression method <strong>must</strong> be specified.</p>
<p><code class="docutils literal notranslate"><span class="pre">zip</span></code> files are downloaded without decompression and unpacked
directly onto the filesystem of the VEMSD.</p>
<p><code class="docutils literal notranslate"><span class="pre">gz</span></code> files are required to be a <code class="docutils literal notranslate"><span class="pre">.tar.gz</span></code> and will be decompressed
during download and then unpacked onto the filesystem of the VEMSD.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zip</span></code></p></li>
</ul>
</aside>
</section>
</section>
</section>
<section id="to-mps">
<span id="deploy-to-mps"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: mps</a><a class="headerlink" href="#to-mps" title="Permalink to this heading">¶</a></h2>
<p>MPS is a deployment method used by the MPS2 device which is similar to
the support for <a class="reference internal" href="#deploy-to-vemsd"><span class="std std-ref">to: vemsd</span></a></p>
<section id="deploy-to-mps-recovery">
<span id="index-35"></span><span id="id69"></span><h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#deploy-to-mps-recovery" title="Permalink to this heading">¶</a></h3>
<section id="id70">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">recovery_image</a><a class="headerlink" href="#id70" title="Permalink to this heading">¶</a></h4>
<p>Download the URL ready to be unpacked onto the USB filesystem of the
MPS2 device.</p>
<section id="deploy-to-mps-recovery-url">
<span id="id71"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-mps-recovery-url" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-mps-recovery-compression">
<span id="id72"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-mps-recovery-compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified.</p>
<p><code class="docutils literal notranslate"><span class="pre">zip</span></code> files are downloaded without decompression and unpacked
directly onto the filesystem of the USB filesystem of the MPS2.</p>
<p><code class="docutils literal notranslate"><span class="pre">gz</span></code> files are required to be a <code class="docutils literal notranslate"><span class="pre">.tar.gz</span></code> and will be decompressed
during download and then unpacked onto the filesystem of the VEMSD.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zip</span></code></p></li>
</ul>
</aside>
</section>
</section>
<section id="deploy-to-mps-test-binary">
<span id="index-36"></span><span id="id73"></span><h4><a class="toc-backref" href="#contents" role="doc-backlink">test_binary</a><a class="headerlink" href="#deploy-to-mps-test-binary" title="Permalink to this heading">¶</a></h4>
<p>Download test binary to MPS device and rename if required.</p>
<p>Multiple test binaries can be flashed in the same deploy action by listing all
of them. The keys should start with <code class="docutils literal notranslate"><span class="pre">test_binary_</span></code>.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mps</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">recovery_image</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mps2_sse200_an512.tar.gz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gz</span>
<span class="w">      </span><span class="nt">test_binary_1</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tfm_sign.bin</span>
<span class="w">      </span><span class="nt">test_binary_2</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mcuboot.bin</span>
</pre></div>
</div>
<section id="deploy-to-mps-binary-url">
<span id="id74"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">url *</a><a class="headerlink" href="#deploy-to-mps-binary-url" title="Permalink to this heading">¶</a></h5>
<p>Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
</section>
<section id="rename">
<span id="deploy-to-mps-binary-rename"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">rename</a><a class="headerlink" href="#rename" title="Permalink to this heading">¶</a></h5>
<p>Renames the test_binary if required</p>
<p>If the recovery_image expects to flash a specific image and the file downloaded
is not named this way, this option will save it with a different name on the
board.</p>
<p>If not specified, the the test_binary is copied as-is, no renaming takes place.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mps</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">recovery_image</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mps2_sse200_an512.tar.gz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gz</span>
<span class="w">      </span><span class="nt">test_binary_1</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tfm_sign_20191121.bin</span>
<span class="w">        </span><span class="nt">renam</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">tfm_sign.bin</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="to-uuu">
<span id="deploy-to-uuu"></span><span id="index-37"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">to: uuu</a><a class="headerlink" href="#to-uuu" title="Permalink to this heading">¶</a></h2>
<p id="deploy-to-uuu-images"><span id="index-38"></span>uuu specific deploy method is very similar with <a class="reference internal" href="#deploy-to-fastboot"><span class="std std-ref">to: fastboot</span></a> method, with a required <code class="docutils literal notranslate"><span class="pre">boot</span></code> partition.
Partitions are usable within uuu boot method using the partition name.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://.../imx-boot-sd.bin-flash</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://../imx-image-multimedia.rootfs.wic</span>
</pre></div>
</div>
<section id="id75">
<h3><a class="toc-backref" href="#contents" role="doc-backlink">images</a><a class="headerlink" href="#id75" title="Permalink to this heading">¶</a></h3>
<p>uuu deployments support a range of images to be downloaded and deployed to
the device. The list of images will depend on the test job and the test device.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Partition <code class="docutils literal notranslate"><span class="pre">boot</span></code> is required by any uuu boot method.</p>
</div>
<section id="id76">
<h4><a class="toc-backref" href="#contents" role="doc-backlink">partition</a><a class="headerlink" href="#id76" title="Permalink to this heading">¶</a></h4>
<p>The partition is a text string which specifies the partition to which the
image will be flashed using <code class="docutils literal notranslate"><span class="pre">uuu</span></code> commands.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Each partition can be referenced using <code class="docutils literal notranslate"><span class="pre">{partition_name}</span></code> within uuu boot method e.g. :</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://.../imx-boot-sd.bin-flash</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">boot</span><span class="p">:</span>
<span class="w">    </span><span class="nt">method</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">commands</span><span class="p">:</span>
<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">uuu</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">-b sd {boot}</span>
</pre></div>
</div>
</div>
<p id="deploy-to-uuu-images-url">Specifies the URL to download. All downloads are checksummed using <code class="docutils literal notranslate"><span class="pre">md5sum</span></code>
and <code class="docutils literal notranslate"><span class="pre">sha256sum</span></code></p>
<p>URLs are checked during the test job validation to ensure that the file can be
downloaded. Missing files will cause the test job to end as Incomplete.</p>
<p>URLs <strong>must</strong> use one of the supported schemes, the first element of the URL.</p>
<aside class="topic">
<p class="topic-title">Supported schema</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">http://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">https://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">file://</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lxc://</span></code></p></li>
</ul>
</aside>
<section id="deploy-to-uuu-images-compression">
<span id="id77"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">compression</a><a class="headerlink" href="#deploy-to-uuu-images-compression" title="Permalink to this heading">¶</a></h5>
<p>If the image is compressed, the compression method <strong>must</strong> be specified. If
image is compressed but compression method is not specified it will be
downloaded as uncompressed.</p>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">bz2</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">xz</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zstd</span></code></p></li>
</ul>
</aside>
</section>
<section id="deploy-to-uuu-images-apply-overlay">
<span id="id78"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">apply-overlay</a><a class="headerlink" href="#deploy-to-uuu-images-apply-overlay" title="Permalink to this heading">¶</a></h5>
<p>Use this to apply LAVA specific overlays to image.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">apply-overlay</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</pre></div>
</div>
</section>
<section id="deploy-to-uuu-images-sparse">
<span id="id79"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sparse</a><a class="headerlink" href="#deploy-to-uuu-images-sparse" title="Permalink to this heading">¶</a></h5>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sparse</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
</pre></div>
</div>
<p>The default value for this parameter is <code class="docutils literal notranslate"><span class="pre">true</span></code>. Some system images are
shipped as sparse images which needs special handling with tools such as
<code class="docutils literal notranslate"><span class="pre">simg2img</span></code> and <code class="docutils literal notranslate"><span class="pre">img2simg</span></code>, in order to apply LAVA specific overlays to it.
By default LAVA assumes the image to which <code class="docutils literal notranslate"><span class="pre">apply-overlay</span></code> is specified is a
sparse image.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#deploy-to-uuu-images-apply-overlay"><span class="std std-ref">apply-overlay</span></a></p>
</div>
<p>If the image is not a sparse image then this should be explicitly mentioned,
so that LAVA will treat the image as non-sparse ext4 image.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">to</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuu</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.ext4.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sparse</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
</pre></div>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>The sparse image format is defined in <a class="reference external" href="https://android.googlesource.com/platform/system/core/+/master/libsparse/sparse_format.h">sparse_format</a> in the
Android platform source code.</p>
</div>
</section>
<section id="deploy-to-uuu-images-md5sum">
<span id="id81"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">md5sum</a><a class="headerlink" href="#deploy-to-uuu-images-md5sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">md5sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">d8784b27867b3dcad90cbea66eacc264</span>
</pre></div>
</div>
</section>
<section id="deploy-to-uuu-images-sha256sum">
<span id="id82"></span><h5><a class="toc-backref" href="#contents" role="doc-backlink">sha256sum</a><a class="headerlink" href="#deploy-to-uuu-images-sha256sum" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha256sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
<section id="id83">
<h5><a class="toc-backref" href="#contents" role="doc-backlink">sha512sum</a><a class="headerlink" href="#id83" title="Permalink to this heading">¶</a></h5>
<p>The checksum of the file to download can be provided, and if so it will be
checked against the downloaded content. This can help to detect multiple
potential problems such as misconfigured caching or corrupted downloads. If
compression is used, the checksum to specify is the checksum of the compressed
file, irrespective of whether that file is decompressed later.:</p>
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">deploy</span><span class="p">:</span>
<span class="w">    </span><span class="nt">images</span><span class="p">:</span>
<span class="w">      </span><span class="nt">system</span><span class="p">:</span>
<span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://example.com/system.img.xz</span>
<span class="w">        </span><span class="nt">compression</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">xz</span>
<span class="w">        </span><span class="nt">sha512sum</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">e0e82b5adfae84ff97f4f6488e5b4c64b0dfc7ad8a37b4bcbb887d9f85a6be0a</span>
</pre></div>
</div>
</section>
</section>
</section>
</section>
<section id="deploy-os">
<span id="index-39"></span><span id="id84"></span><h2><a class="toc-backref" href="#contents" role="doc-backlink">os *</a><a class="headerlink" href="#deploy-os" title="Permalink to this heading">¶</a></h2>
<p>The operating system of the image may be specified if the LAVA scripts
need to use the LAVA install helpers to install packages or identify
other defaults in the deployment data. However, this support is
<strong>deprecated</strong> for most use cases.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">os</span></code> is used, the value does not have to be exact. A similar
operating system can be specified, based on how the test job operates.
If the test shell definition uses the deprecated LAVA install helpers
(by defining <code class="docutils literal notranslate"><span class="pre">install:</span></code> steps), then any <code class="docutils literal notranslate"><span class="pre">os</span></code> value which provides
the same installation tools will work. For example, operating systems
which are derivatives of Debian can use <code class="docutils literal notranslate"><span class="pre">os:</span> <span class="pre">debian</span></code> without needing
explicit support for each derivative because both will use <code class="docutils literal notranslate"><span class="pre">apt</span></code> and
<code class="docutils literal notranslate"><span class="pre">dpkg</span></code>.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="writing-tests.html#less-reliance-on-install"><span class="std std-ref">Rely less on install: steps</span></a></p>
</div>
<p>Test jobs which execute operating system installers <strong>will</strong> require
the deployment data for that installer, so <code class="docutils literal notranslate"><span class="pre">os</span></code> will need to be
specified in those test jobs. When the Lava install helpers are
removed, the elements of deployment data which are required for
installers will be retained.</p>
<p>Portable test definitions do not need to specify <code class="docutils literal notranslate"><span class="pre">os</span></code> at all, as long
as the test definition is not expected to run on a DUT running Android.</p>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>Please read the notes on
<a class="reference internal" href="writing-tests.html#test-definition-portability"><span class="std std-ref">Write portable test definitions</span></a> - all test writers are strongly
encouraged to drop all use of the LAVA install helpers as this
support is <strong>deprecated</strong> and is expected to be removed by moving to
support for an updated Lava-Test Test Definition.</p>
</div>
<ul class="simple">
<li><p><strong>Not all deployment methods support all types of operating system.</strong></p></li>
<li><p><strong>Not all devices can support all operating systems.</strong></p></li>
</ul>
<aside class="topic">
<p class="topic-title">Allowed values</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">android</span></code> : If your android test job executes a Lava Test Shell
<strong>on the DUT</strong> then <code class="docutils literal notranslate"><span class="pre">os:</span> <span class="pre">android</span></code> will be needed so that the
Android shell is used instead of <code class="docutils literal notranslate"><span class="pre">/bin/sh</span></code>. Many AOSP images do
not include <code class="docutils literal notranslate"><span class="pre">busybox</span></code> or other support for a shell on the DUT, so
test jobs using those images drive the test from the LXC by using
<code class="docutils literal notranslate"><span class="pre">adb</span></code>. The deployment to the LXC does not need to specify <code class="docutils literal notranslate"><span class="pre">os</span></code>
as long as the test shell is <strong>portable</strong>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ubuntu</span></code> : <strong>deprecated</strong> - compatible with <code class="docutils literal notranslate"><span class="pre">debian</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">debian</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lede</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">fedora</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">centos</span></code> : <strong>deprecated</strong> - compatible with <code class="docutils literal notranslate"><span class="pre">fedora</span></code>.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">debian_installer</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">centos_installer</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">oe</span></code></p></li>
</ul>
</aside>
</section>
</section>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2010-2019, Linaro Limited.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
    </p>
  </div>
</footer>
  </body>
</html>